home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
20
/
9
/
DISK2092.ZIP
/
RBBS-UTL.ZIP
/
UTIL
/
RECONFIG.BAS
< prev
next >
Wrap
BASIC Source File
|
1990-02-04
|
44KB
|
1,342 lines
DECLARE FUNCTION StrTok$(Source$,Delim$)
DECLARE SUB box (ybox%, xbox%, boxrows%, boxcols%, style%) 'draw a box
DECLARE SUB Line17 (HelpText$)
DEFINT A-Z
CLEAR
CLS
DIM FILES.FUNCTION(8) ' file menu security
DIM GLOBAL.FUNCTION(4) ' Global commands security
DIM HELP$(9) ' Help file names
DIM LIBRARY.FUNCTION(7) ' Library commands security
DIM MAIN.FUNCTION(18) ' Main menu security
DIM MENU$(6) ' Menu file names
DIM SYSOP.FUNCTION(7) ' Sysop menu security
DIM DNLD$(99) ' Download Sub-Dirs
DIM UTILITY.FUNCTION(12) ' Utility menu security
CONST FALSE = 0
CONST TRUE = NOT FALSE
KEY OFF
LOCATE ,,0
Parms = FALSE
Ver$ = " 14.1D 15.1A 15.1B 15.1C 16.1A 17.1A 17.1B 17.1C 17.1D 17.2A 17.2B "
IF COMMAND$ = "" THEN _
GOTO CopyRight
Parms = 1
Delim$ = " "
InputFileName$ = STRTOK$(COMMAND$,Delim$)
IF InputFileName$ = "" THEN _
GOTO CopyRight
InputVersion$ = STRTOK$("",Delim$)
IF LEN(InputVersion$) < 4 THEN GOTO CopyRight
InputVersion$ = UCASE$ (InputVersion$)
Version = INSTR(Ver$, " " + InputVersion$ + " ")
IF Version = 0 THEN GOTO CopyRight
Version = INT((Version-2)/6)+1
OutputFileName$ = STRTOK$("",Delim$)
IF OutputFileName$ = "" THEN _
GOTO CopyRight
Parms = TRUE
'
' ╔══════════════════════╗
' ║ COPYRIGHT GOES HERE ║
' ╚══════════════════════╝
'
CopyRight:
CALL box(1,5,18,69,2)
FOR I = 2 to 15
LOCATE I,7
READ Temp$
PRINT Temp$
NEXT
IF Parms = FALSE THEN CALL Line17("Press any key to continue")
IF Parms = 1 THEN
Parms = FALSE
CALL Line17("ERROR IN INPUT PARAMETERS - Press any key to continue")
END IF
120 REM
IF Parms = FALSE THEN
A$ = INKEY$
IF A$="" GOTO 120 ELSE GOTO 130
END IF
TEMP = (VAL(RIGHT$(TIME$,2))+4) MOD 60
WHILE VAL(RIGHT$(TIME$,2)) <> TEMP
WEND
130 REM
LOCATE 1,1
FOR I = 3 to 17
LOCATE I, 6
PRINT SPACE$(67);
NEXT I
LOCATE 4,12
PRINT "Name of INPUT FILE:"
LOCATE 5,9
PRINT "Version of INPUT FILE:"
LOCATE 6,11
PRINT "Name of OUTPUT file:"
IF Parms = FALSE THEN GOTO 150
LOCATE 4,32
PRINT InputFileName$
LOCATE 5,32
PRINT InputVersion$
LOCATE 6,32
PRINT OutputFileName$
GOTO 180
'
' ╔═════════════════════════════╗
' ║ GET THE INPUT FROM THE USER ║
' ╚═════════════════════════════╝
'
150 CALL Line17("Enter the name of your existing RBBS-PC CONFIGURATION FILE")
LOCATE 4,32
PRINT SPACE$(40);
LOCATE 4,31
INPUT " ", InputFileName$
IF LEN(InputFileName$) < 1 THEN
PRINT CHR$(7);
GOTO 150
END IF
160 CALL Line17("Valid versions: 14.1D, 15.1A/B/C, 16.1A, 17.1A/B/C/D 17.2A/B")
LOCATE 5,32
PRINT SPACE$(40);
LOCATE 5,31
INPUT " ", InputVersion$
IF LEN(InputVersion$) <> 5 THEN
PRINT CHR$(7);
GOTO 160
END IF
InputVersion$ = UCASE$ (InputVersion$)
Version = INSTR(Ver$, InputVersion$)
IF Version = 0 THEN
PRINT CHR$(7);
GOTO 160
END IF
Version = INT((Version-1)/6)+1
170 CALL Line17("Enter the name of the output RBBS-PC version 17.3 FILE")
LOCATE 6,32
PRINT SPACE$(40);
LOCATE 6,31
INPUT " ", OutputFileName$
IF LEN(OutputFileName$) < 1 THEN
PRINT CHR$(7);
GOTO 170
END IF
CALL Line17("")
180 LOCATE 8,9
INPUT "Is everything correct (Y or N)";QUERY$
IF UCASE$ (LEFT$(Query$,1)) <> "Y" THEN GOTO 150
ON ERROR GOTO ErrorHandler
1000 OPEN "I",#1,InputFileName$
'
' ╔════════════════════════════════════════════════════════════╗
' ║ READ IN THE PARAMETERS FROM AN EXISTING "RBBS-PC.DEF" FILE ║
' ╚════════════════════════════════════════════════════════════╝
'
1010 LOCATE 10,9
PRINT "READING DATA....";
'
' ╔═════════════════╗
' ║ READ INPUT FILE ║
' ╚═════════════════╝
'
ReadDef:
IF Version >= 6 THEN INPUT #1,CONFIG.FILE.VER$
INPUT #1,DOWNLOAD.DRIVES$, _
SYSOP.PASSWORD.1$, _
SYSOP.PASSWORD.2$, _
SYSOP.FIRST.NAME$, _
SYSOP.LAST.NAME$, _
REQUIRED.RINGS, _
START.OFFICE.HOURS, _
END.OFFICE.HOURS, _
MINUTES.PER.SESSION!, _
MAX.ALLOWED.MSGS.FRM.DEF, _
ACT.MNTHS.B4.DELETING, _
UPLOAD.DIRECTORY$, _
EXPERT.USER, _
ACTIVE.BULLETINS, _
PROMPT.BELL, _
PCJR, _
MENUS.CAN.PAUSE, _
MENU$(1), _
MENU$(2), _
MENU$(3), _
MENU$(4), _
MENU$(5)
IF Version >= 4 THEN INPUT #1,MENU$(6)
INPUT #1,CONFERENCE.MENU$, _
CONFERENCE.VIEWER.SEC.LVL, _
WELCOME.INTERRUPTABLE, _
REMIND.FILE.TRANSFERS, _
PAGE.LENGTH, _
MAX.MESSAGE.LINES, _
DOORS.AVAILABLE, _
MO$
INPUT #1,MAIN.MESSAGE.FILE$, _
MAIN.MESSAGE.BACKUP$, _
CALLERS.FILE$, _
COMMENTS.FILE$, _
MAIN.USER.FILE$, _
WELCOME.FILE$, _
NEWUSER.FILE$, _
DIRECTORY.EXTENTION$, _
COM.PORT$, _
BULLETINS.OPTIONAL, _
USER.INIT.COMMAND$, _
RTS$, _
DOS.VERSION, _
FG, _
BG, _
BORDER, _
RBBS.BAT$, _
RCTTY.BAT$
INPUT #1,OMIT.MAIN.DIRECTORY$, _
FIRST.NAME.PROMPT$
IF Version = 1 THEN
INPUT #1,HELP$(1), _
HELP$(2), _
HELP$(3), _
HELP$(4), _
HELP$(5), _
HELP$(6), _
HELP$(7), _
HELP$(8), _
HELP$(9)
ELSE
INPUT #1,HELP$(3), _
HELP$(4), _
HELP$(7), _
HELP$(9)
END IF
INPUT #1,BULLETIN.MENU$, _
BULLETIN.PREFIX$, _
DRIVE.FOR.BULLETINS$, _
MESSAGE.REMINDER, _
REQUIRE.NON.ASCII, _
ASK.EXTENDED.DESC, _
MAXIMUM.NUMBER.OF.NODES, _
NETWORK.TYPE, _
RECYCLE.TO.DOS, _
MAX.USR.FILE.SIZE.FRM.DEF, _
MAX.MSG.FILE.SIZE.FRM.DEF!, _
TRASHCAN.FILE$
INPUT #1,MINIMUM.LOGON.SECURITY, _
DEFAULT.SECURITY.LEVEL, _
SYSOP.SECURITY.LEVEL, _
FILESEC.FILE$, _
SYSOP.MENU.SECURITY.LEVEL, _
CONFMAIL.LIST$, _
MAXIMUM.VIOLATIONS, _
SYSOP.FUNCTION(1), _
SYSOP.FUNCTION(2), _
SYSOP.FUNCTION(3), _
SYSOP.FUNCTION(4), _
SYSOP.FUNCTION(5), _
SYSOP.FUNCTION(6), _
SYSOP.FUNCTION(7), _
PASSWORD.FILE$, _
MAXIMUM.PASSWORD.CHANGES, _
MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
OVERWRITE.SECURITY.LEVEL, _
DOORS.TERMINAL.TYPE, _
MAX.PER.DAY
IF Version = 1 THEN GOTO READ.DEF.141D.ONLY
INPUT #1,MAIN.FUNCTION(1), _
MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17)
IF Version >= 4 THEN INPUT #1,MAIN.FUNCTION(18)
IF Version < 5 THEN
INPUT #1,DUMMY$
ELSE
INPUT #1,MIN.NEWCALLER.BAUD
END IF
INPUT #1,WAIT.BEFORE.DISCONNECT, _
FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
FILES.FUNCTION(3), _
FILES.FUNCTION(4)
IF Version >= 5 THEN INPUT #1,FILES.FUNCTION(5)
INPUT #1,FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
FILES.FUNCTION(8), _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(2)
IF Version >= 5 THEN INPUT #1,UTILITY.FUNCTION(3)
INPUT #1,UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
UTILITY.FUNCTION(6), _
UTILITY.FUNCTION(7), _
UTILITY.FUNCTION(8), _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(12), _
GLOBAL.FUNCTION(1), _
GLOBAL.FUNCTION(2), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(4), _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
INPUT #1,TURN.PRINTER.OFF, _
DIRECTORY.PATH$, _
MIN.SEC.TO.VIEW, _
LIMIT.SEARCH.TO.FMS, _
DEFAULT.CATEGORY.CODE$, _
DIR.CATEGORY.FILE$, _
NEW.FILES.CHECK, _
MAX.DESC.LEN, _
SHOW.SECTION, _
COMMANDS.IN.PROMPT, _
NEWUSER.SETS.DEFAULTS, _
HELP.PATH$, _
HELP.EXTENSION$, _
MAIN.COMMANDS$, _
FILE.COMMANDS$, _
UTIL.COMMANDS$, _
GLOBAL.COMMANDS$, _
SYSOP.COMMANDS$
IF Version >= 4 THEN
INPUT #1,RECYCLE.WAIT, _
LIBRARY.FUNCTION(1), _
LIBRARY.FUNCTION(2), _
LIBRARY.FUNCTION(3), _
LIBRARY.FUNCTION(4), _
LIBRARY.FUNCTION(5), _
LIBRARY.FUNCTION(6), _
LIBRARY.FUNCTION(7), _
LIBRARY.DRIVE$, _
LIBRARY.DIRECTORY.PATH$, _
LIBRARY.DIRECTORY.EXTENTION$, _
LIBRARY.WORK.DISK.PATH$, _
LIBRARY.MAX.DISK, _
LIBRARY.MAX.DIRECTORY, _
LIBRARY.MAX.SUBDIR, _
LIBRARY.SUBDIR.PREFIX$, _
LIBRARY.ARCHIVE.PATH$, _
LIBRARY.ARCHIVE.PROGRAM$, _
LIBRARY.COMMANDS$
END IF
INPUT #1,UPLOAD.PATH$, _
FMS.DIRECTORY$, _
ANS.MENU$,_
REQUIRED.QUESTIONNAIRE$,_
REMEMBER.NEW.USERS, _
SURVIVE.NOUSER.ROOM, _
PROMPT.HASH$, _
START.HASH, _
LEN.HASH, _
PROMPT.INDIV$, _
START.INDIV, _
LEN.INDIV
INPUT #1,BYPASS.MSGS, _
MUSIC, _
RESTRICT.BY.DATE, _
DAYS.TO.WARN, _
DAYS.IN.SUBSCRIPTION.PERIOD, _
VOICE.TYPE, _ ' KG013101
RESTRICT.VALID.CMDS, _
NEW.USER.DEFAULT.MODE, _
NEW.USER.LINE.FEEDS, _
NEW.USER.NULLS, _ ' KG013101
FAST.FILE.LIST$, _ ' KG013101
FAST.FILE.LOCATOR$, _ ' KG013101
MESSAGES.CAN.GROW, _ ' KG013101
WRAP.CALLERS.FILE$, _
REDIRECT.IO.METHOD, _
AUTO.UPGRADE.SEC, _ ' KG013101
HALT.ON.ERROR, _
NEW.PUBLIC.MSGS.SECURITY, _
NEW.PRIVATE.MSGS.SECURITY, _
SECURITY.NEEDED.TO.CHANGE.MSGS, _
SL.CATEGORIZE.UPLOADS, _
BAUDOT, _
TIME.TO.DROP.TO.DOS, _
EXPIRED.SECURITY, _
DTR.DROP.DELAY, _
ASK.IDENTITY, _
MAX.REG.SEC, _ ' KG013101
BUFFER.SIZE, _
MLCOM, _
SHOOT.YOURSELF, _
EXTENSION.LIST$, _
NEW.USER.DEFAULT.PROTOCOL$, _
NEW.USER.GRAPHICS$, _
NET.MAIL$, _
MASTER.DIRECTORY.NAME$, _
PROTO.DEF$, _
UPCAT.HELP$, _
ALWAYS.STREW.TO$, _
LAST.NAME.PROMPT$
GOTO READ.DEF.ALL
READ.DEF.141D.ONLY:
INPUT #1,MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(1), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
UTILITY.FUNCTION(6), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17), _
GLOBAL.FUNCTION(4), _
GLOBAL.FUNCTION(2), _
DEFAULT.MACHINE.TYPE$, _
WAIT.BEFORE.DISCONNECT
INPUT #1,FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
DUMMY, _
FILES.FUNCTION(3), _
FILES.FUNCTION(4), _
DUMMY, _
FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
DUMMY, _
DUMMY, _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
DUMMY, _
DUMMY, _
UTILITY.FUNCTION(7), _
DUMMY, _
UTILITY.FUNCTION(8), _
DUMMY, _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(2), _
UTILITY.FUNCTION(12), _
DUMMY, _
DUMMY, _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
INPUT #1,SYSOP.FUNCTION.KEY1$, _
SYSOP.FUNCTION.KEY2$, _
SYSOP.FUNCTION.KEY3$, _
SYSOP.FUNCTION.KEY4$, _
SYSOP.FUNCTION.KEY5$, _
SYSOP.FUNCTION.KEY6$, _
SYSOP.FUNCTION.KEY7$, _
SYSOP.FUNCTION.KEY8$, _
SYSOP.FUNCTION.KEY9$, _
SYSOP.FUNCTION.KEY10$, _
SYSOP.FUNCTION.KEY11$, _
SYSOP.FUNCTION.KEY12$
READ.DEF.ALL:
IF Version >= 5 THEN
INPUT #1,PERSONAL.DRVPATH$, _
PERSONAL.DIR$, _
PERSONAL.BEGIN, _
PERSONAL.LEN, _
PERSONAL.PROTOCOL$, _
PERSONAL.CONCAT, _
PRIVATE.READ.SEC, _
PUBLIC.READ.SEC, _
SEC.CHANGE.MSG, _
KEEP.INIT.BAUD, _
MAIN.PUI$, _
DEFAULT.ECHOER$, _
HOST.ECHO.ON$, _
HOST.ECHO.OFF$, _
SWITCH.BACK, _
DEFAULT.LINE.ACK$, _
ALTDIR.EXTENSION$, _
DIRECTORY.PREFIX$
END IF
INPUT #1,SEC.LVL.EXEMPT.FRM.PURGING, _
MODEM.INIT.WAIT.TIME, _
MODEM.COMMAND.DELAY.TIME, _
TURBO.RBBS
INPUT #1,DNLD.SUB, _
WILL.SUBDIRS.B.USED, _
UPLOAD.TO.SUBDIR, _
DOWNLOAD.TO.SUBDIR, _
UPLOAD.SUBDIR$
IF Version < 5 THEN
INPUT #1,RESTRICT.BAUD, _
USE.COLOR
ELSE
INPUT #1,MIN.OLDCALLER.BAUD, _
MAX.WORK.VAR ' KG013101
ENDIF
INPUT #1,DISKFULL.GO.OFFLINE, _
EXTENDED.LOGGING, _
USER.RESET.COMMAND$, _
USER.COUNT.RINGS.COMMAND$, _
USER.ANSWER.COMMAND$, _
USER.GO.OFFHOOK.COMMAND$, _
DISK.FOR.DOS$, _
DUMB.MODEM, _
COMMENTS.AS.MESSAGES, _
LSB, _
MSB, _
LINE.CONTROL.REGISTER, _
MODEM.CONTROL.REGISTER, _
LINE.STATUS.REGISTER, _
MODEM.STATUS.REGISTER
IF Version >= 5 THEN
INPUT #1,KEEP.TIME.CREDITS, _
XON.XOFF, _
ALLOW.CALLER.TURBO, _
USE.DEVICE.DRIVER$, _
PRELOG$, _
NEW.USER.QUESTIONNAIRE$, _
EPILOG$, _
REGISTRATION.PROGRAM$, _
QUES.PATH$, _
USER.LOCATION$, _
USER.INITIALIZE.COMMAND$, _
USER.FIRMWARE.CLEAR.CMND$, _
USER.FIRMWARE.WRITE.CMND$, _
ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
SIZE.OF.STACK, _
SECURITY.EXEMPT.FROM.EPILOG, _
USE.BASIC.WRITES, _
DOSANSI, _
ESCAPE.INSECURE, _
USE.DIR.ORDER, _
ADD.DIR.SECURITY, _
MAX.EXTENDED.LINES, _
ORIG.COMMANDS$
END IF
IF Version >= 6 THEN
INPUT #1,LOGON.MAIL.LEVEL$, _
MACRO.DRVPATH$, _
MACRO.EXTENSION$, _
EMPHASIZE.ON.DEF$, _
EMPHASIZE.OFF.DEF$, _
FG.1.DEF$, _
FG.2.DEF$, _
FG.3.DEF$, _
FG.4.DEF$, _
SECVIO.HLP$, _
FOSSIL, _
MAX.CARRIER.WAIT, _
CALLER.BKGRD, _
SMART.TEXT, _
TIME.LOCK, _
WRITE.BUF.DEF, _
SEC.KILL.ANY, _
DOORS.DEF$, _
SCREEN.OUT.MSG$, _
AUTOPAGE.DEF$
END IF
IF DNLD.SUB < 1 OR DNLD.SUB > 99 THEN GOTO CLOSE.IN
FOR I = 1 TO DNLD.SUB
INPUT #1,DNLD$(I)
NEXT
GOTO CLOSE.IN
'
' ╔══════════════════╗
' ║ CLOSE INPUT FILE ║
' ╚══════════════════╝
'
CLOSE.IN:
CLOSE #1
'
' ╔═════════════════════════════════════════════════╗
' ║ INITALIZE ALL VARIABLES THAT DON'T AREADY EXIST ║
' ╚═════════════════════════════════════════════════╝
'
1020 LOCATE 11,9
PRINT "CONVERTING DATA...";
IF INSTR(MAIN.MESSAGE.FILE$,":") THEN
D$ = LEFT$(MAIN.MESSAGE.FILE$,INSTR(MAIN.MESSAGE.FILE$,":"))
ELSE
D$ = ""
END IF
ON Version GOTO 2000, 2100, 2200, 2300, 2400, 2500, 2500, 2500, 2500
GOTO 2600
'
' ╔══════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 14.1D ║
' ╚══════════════════════════════════╝
'
2000 FOR I = 1 TO 9
IF INSTR(HELP$(I),":") THEN
HELP$(I) = MID$(HELP$(I),INSTR(HELP$(I),":")+1)
END IF
NEXT
ALWAYS.STREW.TO$ = ""
ANS.MENU$ = D$ + "MENUA"
ASK.IDENTITY = FALSE
BAUDOT = 0
BUFFER.SIZE = 128
BYPASS.MSGS = FALSE ' KG013101
COMMANDS.IN.PROMPT = TRUE
DEFAULT.CATEGORY.CODE$ = "UC "
DAYS.IN.SUBSCRIPTION.PERIOD = 365
DAYS.TO.WARN = 60
DIR.CATEGORY.FILE$ = D$ + "DIR.CAT"
DIRECTORY.PATH$ = D$
DTR.DROP.DELAY = 3
DUMMY$ = " "
EXPIRED.SECURITY = DEFAULT.SECURITY.LEVEL
FILE.COMMANDS$ = "DGLNPSUV"
FILES.FUNCTION(8) = FILES.FUNCTION(1)
F7.MESSAGE$ = ""
GLOBAL.COMMANDS$ = "H?QX" ' KG013101
HELP.EXTENSION$ = "HLP"
HELP.PATH$ = D$
LEN.HASH = 31
LEN.INDIV = 0
LIMIT.SEARCH.TO.FMS = FALSE
MAIN.COMMANDS$ = "ABCDEFIJKOPRSTUVW"
MAIN.FUNCTION(1) = DEFAULT.SECURITY.LEVEL
MAIN.FUNCTION(18) = 32767
MASTER.DIRECTORY.NAME$ = ""
MAX.DESC.LEN = 40
MIN.SEC.TO.VIEW = DEFAULT.SECURITY.LEVEL
MLCOM = FALSE
MUSIC = FALSE
NET.MAIL$ = ""
NEW.FILES.CHECK = FALSE
NEWUSER.SETS.DEFAULTS = TRUE
NEW.PUBLIC.MSGS.SECURITY = DEFAULT.SECURITY.LEVEL
NEW.PRIVATE.MSGS.SECURITY = DEFAULT.SECURITY.LEVEL
NEW.USER.DEFAULT.MODE = 0
NEW.USER.DEFAULT.PROTOCOL$ = ""
NEW.USER.GRAPHICS$ = ""
NEW.USER.LINE.FEEDS = 0
NEW.USER.NULLS = 0
NEW.USER.BELL = 0
NEW.USER.CASE = 0
NEW.USER.MARGINS = 0
PROMPT.HASH$ = "Name"
PROMPT.INDIV$ = ""
REDIRECT.IO.METHOD = TRUE
REMEMBER.NEW.USERS = TRUE
REQUIRED.QUESTIONNAIRE$ = "NONE"
RESTRICT.BY.DATE = FALSE
RESTRICT.VALID.CMDS = FALSE
SECURITY.NEEDED.TO.CHANGE.MSGS = SYSOP.SECURITY.LEVEL
SHOOT.YOURSELF = FALSE
SHOW.SECTION = TRUE
SL.CATEGORIZE.UPLOADS = SYSOP.SECURITY.LEVEL
START.HASH = 1
START.INDIV = 0
SURVIVE.NOUSER.ROOM = FALSE
SYSOP.COMMANDS$ = "1234567"
TIME.TO.DROP.TO.DOS = 0
TURN.PRINTER.OFF = FALSE
FMS.DIRECTORY$ = ""
UPCAT.HELP$ = "UPCAT" ' KG013101
UTIL.COMMANDS$ = "BCEFGLMPRSTU"
WRAP.CALLERS.FILE$ = ""
FOR I = 1 TO NUM.GLOBAL
GLOBAL.FUNCTION(I) = MINIMUM.LOGON.SECURITY
NEXT
'
' ╔══════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 15.1A ║
' ╚══════════════════════════════════╝
'
2100 RTS$ = "NO"
'
' ╔══════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 15.1B ║
' ╚══════════════════════════════════╝
'
2200 LIBRARY.ARCHIVE.PATH$ = D$
LIBRARY.ARCHIVE.PROGRAM$ = "ARCA "
LIBRARY.COMMANDS$ = "ACDGLSV"
LIBRARY.DIRECTORY.PATH$ = D$
LIBRARY.DIRECTORY.EXTENTION$ = "CDR"
LIBRARY.DRIVE$ = ""
LIBRARY.MAX.DISK = 705
LIBRARY.MAX.DIRECTORY = 7
LIBRARY.MAX.SUBDIR = 100
LIBRARY.SUBDIR.PREFIX$ = "DISK"
FOR I=1 TO 7
LIBRARY.FUNCTION(I) = SYSOP.SECURITY.LEVEL
NEXT
LIBRARY.WORK.DISK.PATH$ = D$
MAIN.COMMANDS$ = MAIN.COMMANDS$ + "@"
MENU$(6) = D$ + "MENU6"
RECYCLE.WAIT = 0
'
' ╔══════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 15.1C ║
' ╚══════════════════════════════════╝
'
2300 ALLOW.CALLER.TURBO = SYSOP.SECURITY.LEVEL
ALTDIR.EXTENSION$ = ""
DEFAULT.ECHOER$ = "R"
DEFAULT.LINE.ACK$ = ""
DIRECTORY.PREFIX$ = "DIR"
DOSANSI = USE.COLOR
ENFORCE.UPLOAD.DOWNLOAD.RATIOS = FALSE
EPILOG$ = D$ + "EPILOG.DEF"
IF LEN(FILE.COMMANDS$) < 8 THEN
FILE.COMMANDS$ = LEFT$(FILE.COMMANDS$,4) + "P" + _
RIGHT$(FILE.COMMANDS$,3)
END IF
FILES.FUNCTION(5) = SYSOP.SECRUITY.LEVEL
FIRST.NAME.PROMPT$ = "FIRST name"
HOST.ECHO.OFF$ = ""
HOST.ECHO.ON$ = ""
KEEP.INIT.BAUD = FALSE
KEEP.TIME.CREDITS = FALSE
LAST.NAME.PROMPT$ = "LAST name"
MAIN.PUI$ = D$ + "MAIN.PUI"
MAX.PER.DAY = 0
MENUS.CAN.PAUSE = TRUE
MIN.NEWCALLER.BAUD = 0
IF RESTRICT.BAUD <> 0 THEN _
MIN.NEWCALLER.BAUD = 1200
MIN.OLDCALLER.BAUD = 0
IF RESTRICT.BAUD =TRUE THEN _
MIN.OLDCALLER.BAUD = 1200
NEW.USER.QUESTIONNAIRE$ = D$ + "RBBS-REG.DEF"
PERSONAL.BEGIN = 1
PERSONAL.DIR$ = "PRIV"
PERSONAL.DRVPATH$ = D$
PERSONAL.LEN = 31
PERSONAL.CONCAT = FALSE
PERSONAL.PROTOCOL$ = "N"
PRELOG$ = D$ + "PRELOG"
PRIVATE.READ.SEC = DEFAULT.SECURITY.LEVEL
PUBLIC.READ.SEC = DEFAULT.SECURITY.LEVEL
QUES.PATH$ = ""
REGISTRATION.PROGRAM$ = "NONE"
SEC.CHANGE.MSG = SYSOP.SECURITY.LEVEL
SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
SIZE.OF.STACK = 1024
SWITCH.BACK = FALSE
USE.BASIC.WRITES = FALSE
USE.DEVICE.DRIVER$ = ""
USE.EXTERNAL.YMODEM = FALSE
USER.FIRMWARE.CLEAR.CMND$ = "AT&F"
USER.FIRMWARE.WRITE.CMND$ = "&W"
USER.INITIALIZE.COMMAND$ = "AT&C1&D3B1E0V1M0S0=0&T5"
USER.LOCATION$ = "CITY and STATE"
IF LEN(UTIL.COMMANDS$) < 12 THEN _
UTIL.COMMANDS$ = LEFT$(UTIL.COMMANDS$,2) + "E" + _
RIGHT$(UTIL.COMMANDS$,9)
UTILITY.FUNCTION(3) = UTILITY.FUNCTION(4)
XON.XOFF = FALSE
MAIN.COMMANDS.DEFAULTS$ = "ABCDEFIJKOPRSTUVW@"
FILE.COMMANDS.DEFAULTS$ = "DGLNPSUV"
UTIL.COMMANDS.DEFAULTS$ = "BCEFGLMPRSTU"
LIBRARY.COMMANDS.DEFAULTS$ = "ACDGLSV"
GLOBAL.COMMANDS.DEFAULTS$ = "H?QX"
SYSOP.COMMANDS.DEFAULTS$ = "1234567"
ORIG.COMMANDS$ = MAIN.COMMANDS.DEFAULTS$ + _
FILE.COMMANDS.DEFAULTS$ + _
UTIL.COMMANDS.DEFAULTS$ + _
LIBRARY.COMMANDS.DEFAULTS$ + _
GLOBAL.COMMANDS.DEFAULTS$ + _
SYSOP.COMMANDS.DEFAULTS$
'
' ╔══════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 16.1A ║
' ╚══════════════════════════════════╝
'
2400 ADD.DIR.SECURITY = SYSOP.SECURITY.LEVEL
ASK.EXTENDED.DESC = SYSOP.SECURITY.LEVEL
AUTOPAGE.DEF$ = D$ + "AUTOPAGE.DEF"
CALLER.BKGRD = 0
CONFMAIL.LIST$ = D$ + "CONFMAIL.DEF"
EMPHASIZE.OFF.DEF$ = "[27]" + "[0;40;33m"
EMPHASIZE.ON.DEF$ = "[27]" + "[1;41;37m"
ESCAPE.INSECURE = FALSE
FG.1.DEF$ = "
"
FG.2.DEF$ = "
"
FG.3.DEF$ = "
"
FG.4.DEF$ = "
"
FOSSIL = 0
LOGON.MAIL.LEVEL$ = "A"
LSB = 1016
MACRO.DRVPATH$ = D$
MACRO.EXTENSION$ = "MCR"
MAX.CARRIER.WAIT = 30
MAX.EXTENDED.LINES = 2
PROTO.DEF$ = D$ + "PROTO.DEF"
SECVIO.HLP$ = D$ + "SECVIO." + HELP.EXTENSION$
SMART.TEXT = 123
TIME.LOCK = 0
USE.DIR.ORDER = TRUE
WRITE.BUF.DEF = 1024
'
' ╔════════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 17.1A-D ║
' ╚════════════════════════════════════╝
'
2500 AUTO.UPGRADE.SEC = 0
EXTENSION.LIST$ = "ZIP"
DOORS.DEF$ = D$ + "DOORS.DEF"
MAX.REG.SEC = 0
MAX.WORK.VAR = 30
MESSAGES.CAN.GROW = 0
SCREEN.OUT.MSG$ = "SEEN-BY:"
SEC.KILL.ANY = SYSOP.SECURITY.LEVEL
VOICE.TYPE = 0
'
' ╔════════════════════════════════════╗
' ║ INITALIZE VARIABLES NOT IN 17.2A-B ║
' ╚════════════════════════════════════╝
'
2600 VERSION.NUMBER$ = "17.3"
FAST.FILE.LIST$ = D$ + "FIDX.DEF"
FAST.FILE.LOCATOR$ = D$ + "LIDX.DEF"
'
' ╔═══════════════════════════════════════════════════════════════════════════╗
' ║ WRITE OUT THE "RBBS-PC.DEF" FILE WITH THE SYSOP'S SPECIFIED CONFIGURATION ║
' ╚═══════════════════════════════════════════════════════════════════════════╝
'
3000 OPEN "O",#1,OutputFileName$
LOCATE 12,9
PRINT "WRITING DATA...";
4000 WRITE #1,VERSION.NUMBER$, _
DOWNLOAD.DRIVES$, _
SYSOP.PASSWORD.1$, _
SYSOP.PASSWORD.2$, _
SYSOP.FIRST.NAME$, _
SYSOP.LAST.NAME$, _
REQUIRED.RINGS, _
START.OFFICE.HOURS, _
END.OFFICE.HOURS, _
MINUTES.PER.SESSION!, _
MAX.ALLOWED.MSGS.FRM.DEF, _
ACT.MNTHS.B4.DELETING, _
UPLOAD.DIRECTORY$,_
EXPERT.USER, _
ACTIVE.BULLETINS, _
PROMPT.BELL, _
PCJR, _
MENUS.CAN.PAUSE, _
MENU$(1), _
MENU$(2), _
MENU$(3), _
MENU$(4), _
MENU$(5), _
MENU$(6), _
CONFERENCE.MENU$, _
CONFERENCE.VIEWER.SEC.LVL, _
WELCOME.INTERRUPTABLE, _
REMIND.FILE.TRANSFERS, _
PAGE.LENGTH, _
MAX.MESSAGE.LINES, _
DOORS.AVAILABLE, _
MO$
IF INSTR(BULLETIN.MENU$,":") < 1 THEN _
BULLETIN.MENU$ = DRIVE.FOR.BULLETINS$ + _
BULLETIN.MENU$
IF INSTR(BULLETIN.PREFIX$,":") < 1 THEN _
BULLETIN.PREFIX$ = DRIVE.FOR.BULLETINS$ + _
BULLETIN.PREFIX$
IF GLOBAL.FUNCTION(3) > MINIMUM.LOGON.SECURITY THEN _
GLOBAL.FUNCTION(3) = MINIMUM.LOGON.SECURITY
IF FILES.FUNCTION(2) > MINIMUM.LOGON.SECURITY THEN _
FILES.FUNCTION(2) = MINIMUM.LOGON.SECURITY
IF LIBRARY.FUNCTION(4) > MINIMUM.LOGON.SECURITY THEN _
LIBRARY.FUNCTION(4) = MINIMUM.LOGON.SECURITY
IF LIBRARY.DRIVE$ = "" THEN _
MAIN.FUNCTION(18) = 32767
WRITE #1,MAIN.MESSAGE.FILE$, _
MAIN.MESSAGE.BACKUP$, _
CALLERS.FILE$, _
COMMENTS.FILE$, _
MAIN.USER.FILE$, _
WELCOME.FILE$, _
NEWUSER.FILE$, _
DIRECTORY.EXTENTION$, _
COM.PORT$, _
BULLETINS.OPTIONAL, _
USER.INIT.COMMAND$, _
RTS$, _
DOS.VERSION, _
FG, _
BG, _
BORDER, _
RBBS.BAT$, _
RCTTY.BAT$
4200 WRITE #1,OMIT.MAIN.DIRECTORY$, _
FIRST.NAME.PROMPT$, _
HELP$(3), _
HELP$(4), _
HELP$(7), _
HELP$(9), _
BULLETIN.MENU$, _
BULLETIN.PREFIX$, _
DRIVE.FOR.BULLETINS$, _
MESSAGE.REMINDER, _
REQUIRE.NON.ASCII, _
ASK.EXTENDED.DESC, _
MAXIMUM.NUMBER.OF.NODES, _
NETWORK.TYPE, _
RECYCLE.TO.DOS, _
MAX.USR.FILE.SIZE.FRM.DEF, _
MAX.MSG.FILE.SIZE.FRM.DEF!, _
TRASHCAN.FILE$
4300 WRITE #1,MINIMUM.LOGON.SECURITY, _
DEFAULT.SECURITY.LEVEL, _
SYSOP.SECURITY.LEVEL, _
FILESEC.FILE$, _
SYSOP.MENU.SECURITY.LEVEL, _
CONFMAIL.LIST$, _
MAXIMUM.VIOLATIONS, _
SYSOP.FUNCTION(1), _
SYSOP.FUNCTION(2), _
SYSOP.FUNCTION(3), _
SYSOP.FUNCTION(4), _
SYSOP.FUNCTION(5), _
SYSOP.FUNCTION(6), _
SYSOP.FUNCTION(7), _
PASSWORD.FILE$, _
MAXIMUM.PASSWORD.CHANGES, _
MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
OVERWRITE.SECURITY.LEVEL, _
DOORS.TERMINAL.TYPE, _
MAX.PER.DAY
4400 WRITE #1,MAIN.FUNCTION(1), _
MAIN.FUNCTION(2), _
MAIN.FUNCTION(3), _
MAIN.FUNCTION(4), _
MAIN.FUNCTION(5), _
MAIN.FUNCTION(6), _
MAIN.FUNCTION(7), _
MAIN.FUNCTION(8), _
MAIN.FUNCTION(9), _
MAIN.FUNCTION(10), _
MAIN.FUNCTION(11), _
MAIN.FUNCTION(12), _
MAIN.FUNCTION(13), _
MAIN.FUNCTION(14), _
MAIN.FUNCTION(15), _
MAIN.FUNCTION(16), _
MAIN.FUNCTION(17), _
MAIN.FUNCTION(18), _
MIN.NEWCALLER.BAUD, _
WAIT.BEFORE.DISCONNECT
4500 WRITE #1,FILES.FUNCTION(1), _
FILES.FUNCTION(2), _
FILES.FUNCTION(3), _
FILES.FUNCTION(4), _
FILES.FUNCTION(5), _
FILES.FUNCTION(6), _
FILES.FUNCTION(7), _
FILES.FUNCTION(8), _
UTILITY.FUNCTION(1), _
UTILITY.FUNCTION(2), _
UTILITY.FUNCTION(3), _
UTILITY.FUNCTION(4), _
UTILITY.FUNCTION(5), _
UTILITY.FUNCTION(6), _
UTILITY.FUNCTION(7), _
UTILITY.FUNCTION(8), _
UTILITY.FUNCTION(9), _
UTILITY.FUNCTION(10), _
UTILITY.FUNCTION(11), _
UTILITY.FUNCTION(12), _
GLOBAL.FUNCTION(1), _
GLOBAL.FUNCTION(2), _
GLOBAL.FUNCTION(3), _
GLOBAL.FUNCTION(4), _
UPLOAD.TIME.FACTOR!, _
COMPUTER.TYPE, _
REMIND.PROFILE, _
RBBS.NAME$, _
COMMANDS.BETWEEN.RINGS, _
MNP.SUPPORT, _
PAGING.PRINTER.SUPPORT$, _
MODEM.INIT.BAUD$
4600 WRITE #1,TURN.PRINTER.OFF,_
DIRECTORY.PATH$,_
MIN.SEC.TO.VIEW, _
LIMIT.SEARCH.TO.FMS, _
DEFAULT.CATEGORY.CODE$, _
DIR.CATEGORY.FILE$, _
NEW.FILES.CHECK, _
MAX.DESC.LEN, _
SHOW.SECTION, _
COMMANDS.IN.PROMPT, _
NEWUSER.SETS.DEFAULTS, _
HELP.PATH$, _
HELP.EXTENSION$, _
MAIN.COMMANDS$, _
FILE.COMMANDS$, _
UTIL.COMMANDS$, _
GLOBAL.COMMANDS$, _
SYSOP.COMMANDS$
4700 WRITE #1,RECYCLE.WAIT, _
LIBRARY.FUNCTION(1), _
LIBRARY.FUNCTION(2), _
LIBRARY.FUNCTION(3), _
LIBRARY.FUNCTION(4), _
LIBRARY.FUNCTION(5), _
LIBRARY.FUNCTION(6), _
LIBRARY.FUNCTION(7), _
LIBRARY.DRIVE$, _
LIBRARY.DIRECTORY.PATH$, _
LIBRARY.DIRECTORY.EXTENTION$, _
LIBRARY.WORK.DISK.PATH$, _
LIBRARY.MAX.DISK, _
LIBRARY.MAX.DIRECTORY, _
LIBRARY.MAX.SUBDIR, _
LIBRARY.SUBDIR.PREFIX$, _
LIBRARY.ARCHIVE.PATH$, _
LIBRARY.ARCHIVE.PROGRAM$, _
LIBRARY.COMMANDS$
4800 WRITE #1,UPLOAD.PATH$, _
FMS.DIRECTORY$, _
ANS.MENU$, _
REQUIRED.QUESTIONNAIRE$, _
REMEMBER.NEW.USERS, _
SURVIVE.NOUSER.ROOM, _
PROMPT.HASH$, _
START.HASH, _
LEN.HASH, _
PROMPT.INDIV$, _
START.INDIV, _
LEN.INDIV
4850 WRITE #1,BYPASS.MSGS, _
MUSIC, _
RESTRICT.BY.DATE, _
DAYS.TO.WARN, _
DAYS.IN.SUBSCRIPTION.PERIOD, _
VOICE.TYPE, _
RESTRICT.VALID.CMDS, _
NEW.USER.DEFAULT.MODE, _
NEW.USER.LINE.FEEDS, _
NEW.USER.NULLS, _
FAST.FILE.LIST$, _
FAST.FILE.LOCATOR$, _
MESSAGES.CAN.GROW, _
WRAP.CALLERS.FILE$, _
REDIRECT.IO.METHOD, _
AUTO.UPGRADE.SEC, _
HALT.ON.ERROR, _
NEW.PUBLIC.MSGS.SECURITY, _
NEW.PRIVATE.MSGS.SECURITY, _
SECURITY.NEEDED.TO.CHANGE.MSGS, _
SL.CATEGORIZE.UPLOADS, _
BAUDOT, _
TIME.TO.DROP.TO.DOS, _
EXPIRED.SECURITY, _
DTR.DROP.DELAY, _
ASK.IDENTITY, _
MAX.REG.SEC, _
BUFFER.SIZE, _
MLCOM, _
SHOOT.YOURSELF, _
EXTENSION.LIST$, _
NEW.USER.DEFAULT.PROTOCOL$, _
NEW.USER.GRAPHICS$, _
NET.MAIL$, _
MASTER.DIRECTORY.NAME$, _
PROTO.DEF$, _
UPCAT.HELP$, _
ALWAYS.STREW.TO$, _
LAST.NAME.PROMPT$
MSB = LSB + 1
LINE.CONTROL.REGISTER = LSB + 3
MODEM.CONTROL.REGISTER = LSB + 4
LINE.STATUS.REGISTER = LSB + 5
MODEM.STATUS.REGISTER = LSB + 6
4900 WRITE #1,PERSONAL.DRVPATH$, _
PERSONAL.DIR$, _
PERSONAL.BEGIN, _
PERSONAL.LEN, _
PERSONAL.PROTOCOL$, _
PERSONAL.CONCAT, _
PRIVATE.READ.SEC, _
PUBLIC.READ.SEC, _
SEC.CHANGE.MSG, _
KEEP.INIT.BAUD, _
MAIN.PUI$, _
DEFAULT.ECHOER$, _
HOST.ECHO.ON$, _
HOST.ECHO.OFF$, _
SWITCH.BACK, _
DEFAULT.LINE.ACK$, _
ALTDIR.EXTENSION$, _
DIRECTORY.PREFIX$
4950 WRITE #1,SEC.LVL.EXEMPT.FRM.PURGING, _
MODEM.INIT.WAIT.TIME, _
MODEM.COMMAND.DELAY.TIME, _
TURBO.RBBS, _
DNLD.SUB, _
WILL.SUBDIRS.B.USED, _
UPLOAD.TO.SUBDIR, _
DOWNLOAD.TO.SUBDIR, _
UPLOAD.SUBDIR$, _
MIN.OLDCALLER.BAUD, _
MAX.WORK.VAR, _
DISKFULL.GO.OFFLINE, _
EXTENDED.LOGGING, _
USER.RESET.COMMAND$, _
USER.COUNT.RINGS.COMMAND$, _
USER.ANSWER.COMMAND$, _
USER.GO.OFFHOOK.COMMAND$, _
DISK.FOR.DOS$, _
DUMB.MODEM, _
COMMENTS.AS.MESSAGES, _
LSB, _
MSB, _
LINE.CONTROL.REGISTER, _
MODEM.CONTROL.REGISTER, _
LINE.STATUS.REGISTER, _
MODEM.STATUS.REGISTER
4980 WRITE #1,KEEP.TIME.CREDITS, _
XON.XOFF, _
ALLOW.CALLER.TURBO, _
USE.DEVICE.DRIVER$, _
PRELOG$, _
NEW.USER.QUESTIONNAIRE$, _
EPILOG$, _
REGISTRATION.PROGRAM$, _
QUES.PATH$, _
USER.LOCATION$, _
USER.INITIALIZE.COMMAND$, _
USER.FIRMWARE.CLEAR.CMND$, _
USER.FIRMWARE.WRITE.CMND$, _
ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
SIZE.OF.STACK, _
SECURITY.EXEMPT.FROM.EPILOG, _
USE.BASIC.WRITES, _
DOSANSI, _
ESCAPE.INSECURE, _
USE.DIR.ORDER, _
ADD.DIR.SECURITY, _
MAX.EXTENDED.LINES, _
ORIG.COMMANDS$
IF MACRO.EXTENSION$ <> "" AND _
INSTR(MACRO.EXTENSION$,".") <> 1 THEN _
MACRO.EXTENSION$ = "." + MACRO.EXTENSION$
WRITE #1,LOGON.MAIL.LEVEL$, _
MACRO.DRVPATH$, _
MACRO.EXTENSION$, _
EMPHASIZE.ON.DEF$, _
EMPHASIZE.OFF.DEF$, _
FG.1.DEF$, _
FG.2.DEF$, _
FG.3.DEF$, _
FG.4.DEF$, _
SECVIO.HLP$, _
FOSSIL, _
MAX.CARRIER.WAIT, _
CALLER.BKGRD, _
SMART.TEXT, _
TIME.LOCK, _
WRITE.BUF.DEF, _
SEC.KILL.ANY, _
DOORS.DEF$, _
SCREEN.OUT.MSG$, _
AUTOPAGE.DEF$
IF DNLD.SUB <1 OR DNLD.SUB > 99 THEN _
GOTO CLOSE.OUT
FOR I = 1 TO DNLD.SUB
WRITE #1,DNLD$(I)
NEXT
CLOSE.OUT:
5000 CLOSE #1
LOCATE 13,9
PRINT "FINISHED."
LOCATE 22,1
END
'
' ╔══════════════════════════════════╗
' ║ ERROR EXIT - USER ABORTED PROGRAM║
' ╚══════════════════════════════════╝
'
USER.ABORT:
LOCATE 23,1
PRINT "User aborted program - EXECUTION CANCELLED"
SYSTEM
'
' ╔══════════════════════════════════════════════╗
' ║ ERROR HANDLER FOR ANY OPEN/READ/WRITE ERRORS ║
' ╚══════════════════════════════════════════════╝
'
ErrorHandler:
IF ERL = 1000 THEN
CALL Line17("ERROR: COULD NOT OPEN INPUT FILE - EXECUTION CANCELLED")
SYSTEM
END IF
IF ERL = 1010 THEN
CALL Line17("ERROR READING FILE (Probably not version "+ MID$(Ver$,(Version-1)*6+1,5)+")")
SYSTEM
END IF
IF ERL = 3000 THEN
CALL Line17("ERROR: COULD NOT OPEN OUTPUT FILE - EXECUTION CANCELLED")
SYSTEM
END IF
IF ERL >= 4000 AND ERL <= 5000 THEN
CALL Line17("ERROR: COULD NOT WRITE OUTPUT FILE - EXECUTION CANCELLED")
SYSTEM
END IF
CALL Line17("ERROR "+STR$(ERR)+" OCCURRED IN LINE "+STR$(ERL)+" - EXECUTION CANCELLED")
SYSTEM
DATA " RBBS-PC VERSION 17.3 CONFIGURATION CONVERSION"
DATA "Conceived and written by:"
DATA " Doug Azzarito"
DATA " TECHNOLOGY CONSULTANTS of the Palm Beaches, Inc."
DATA " VOICE: (407) 627-9767"
DATA " DATA: (407) 627-6969 627-6862"
DATA ""
DATA "A limited license is granted to all users of this program"
DATA "to use and distribute this program, as long as:"
DATA " 1) NO FEE is charged for copying or distributing this program."
DATA " 2) This program is NOT distributed in modified form."
DATA " 3) The code contained herein is NOT used for any other purpose"
DATA " without obtaining permission from the copyright owner of"
DATA " RBBS-PC"
'
' ╔═════════════════╗
' ║ STRTOK FUNCTION ║
' ╚═════════════════╝
'
FUNCTION StrTok$(Srce$,Delim$)
STATIC Start%, SaveStr$
' If first call, make a copy of the string.
IF Srce$<>"" THEN
Start%=1 : SaveStr$=Srce$
END IF
BegPos%=Start% : Ln%=LEN(SaveStr$)
' Look for start of a token (character that isn't delimiter).
WHILE BegPos%<=Ln% AND INSTR(Delim$,MID$(SaveStr$,BegPos%,1))<>0
BegPos%=BegPos%+1
WEND
' Test for token start found.
IF BegPos% > Ln% THEN
StrTok$="" : EXIT FUNCTION
END IF
' Find the end of the token.
EndPos%=BegPos%
WHILE EndPos% <= Ln% AND INSTR(Delim$,MID$(SaveStr$,EndPos%,1))=0
EndPos%=EndPos%+1
WEND
StrTok$=MID$(SaveStr$,BegPos%,EndPos%-BegPos%)
' Set starting point for search for next token.
Start%=EndPos%
END FUNCTION
'
' ╔═════════════════╗
' ║ BOX SUBROUTINE ║
' ╚═════════════════╝
'
SUB box (ybox, xbox, boxrows, boxcols, style)
' ybox is the screen row of the upper left corner of the box
' xbox is the screen column of the upper left corner of the box
' boxrows is the number of rows (must be > 1) for the box
' boxcols is the number of cols (must be > 1) for the box
' style = 1 single line 2 double line
' 3 double top,single side 4 double side, single top
'
IF style = 0 THEN EXIT SUB
SELECT CASE style
CASE 1
tl$ = "┌": tr$ = "┐": bl$ = "└": br$ = "┘": hl$ = "─": vl$ = "│"
CASE 2
tl$ = "╔": tr$ = "╗": bl$ = "╚": br$ = "╝": hl$ = "═": vl$ = "║"
CASE 3
tl$ = "╒": tr$ = "╕": bl$ = "╘": br$ = "╛": hl$ = "═": vl$ = "│"
CASE 4
tl$ = "╓": tr$ = "╖": bl$ = "╙": br$ = "╜": hl$ = "─": vl$ = "║"
CASE ELSE
CLS
PRINT "SYNTAX ERROR IN box FUNCTION: Invalid style"
SYSTEM
END SELECT
LOCATE ybox, xbox, 0
PRINT tl$ + STRING$(boxcols - 2, hl$) + tr$;
FOR i! = ybox + 1 TO ybox + boxrows - 2
LOCATE i!, xbox
PRINT vl$;
LOCATE , xbox + boxcols - 1
PRINT vl$;
NEXT i!
LOCATE ybox + boxrows - 1, xbox, 0
PRINT bl$ + STRING$(boxcols - 2, hl$) + br$;
END SUB
'
' ╔══════════════════════╗
' ║ Line 17 Help Display ║
' ╚══════════════════════╝
'
SUB Line17 (HelpText$)
LOCATE 17,6
PRINT SPACE$(67);
IF LEN(HelpText$) > 67 THEN HelpText$ = LEFT$(HelpText$,67)
LOCATE 17,40-INT((LEN(HelpText$)+1)/2)
PRINT HelpText$;
END SUB